{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "#使用tsa对沪市指数进行分析：trend, seasonal, residual\n",
    "import statsmodels.api as sm\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Timestamp</th>\n",
       "      <th>Price</th>\n",
       "      <th>stock_volume</th>\n",
       "      <th>amount_volume</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1990/12/19</td>\n",
       "      <td>99.9800</td>\n",
       "      <td>1260</td>\n",
       "      <td>494000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1990/12/20</td>\n",
       "      <td>104.3900</td>\n",
       "      <td>197</td>\n",
       "      <td>84000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1990/12/21</td>\n",
       "      <td>109.1300</td>\n",
       "      <td>28</td>\n",
       "      <td>16000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1990/12/24</td>\n",
       "      <td>114.5500</td>\n",
       "      <td>32</td>\n",
       "      <td>31000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1990/12/25</td>\n",
       "      <td>120.2500</td>\n",
       "      <td>15</td>\n",
       "      <td>6000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7140</th>\n",
       "      <td>2020/3/6</td>\n",
       "      <td>3034.5113</td>\n",
       "      <td>362061533</td>\n",
       "      <td>3.77E+11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7141</th>\n",
       "      <td>2020/3/9</td>\n",
       "      <td>2943.2907</td>\n",
       "      <td>414560736</td>\n",
       "      <td>4.38E+11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7142</th>\n",
       "      <td>2020/3/10</td>\n",
       "      <td>2996.7618</td>\n",
       "      <td>393296648</td>\n",
       "      <td>4.25E+11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7143</th>\n",
       "      <td>2020/3/11</td>\n",
       "      <td>2968.5174</td>\n",
       "      <td>352470970</td>\n",
       "      <td>3.79E+11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7144</th>\n",
       "      <td>2020/3/12</td>\n",
       "      <td>2923.4856</td>\n",
       "      <td>307778457</td>\n",
       "      <td>3.28E+11</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>7145 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       Timestamp      Price  stock_volume amount_volume\n",
       "0     1990/12/19    99.9800          1260        494000\n",
       "1     1990/12/20   104.3900           197         84000\n",
       "2     1990/12/21   109.1300            28         16000\n",
       "3     1990/12/24   114.5500            32         31000\n",
       "4     1990/12/25   120.2500            15          6000\n",
       "...          ...        ...           ...           ...\n",
       "7140    2020/3/6  3034.5113     362061533      3.77E+11\n",
       "7141    2020/3/9  2943.2907     414560736      4.38E+11\n",
       "7142   2020/3/10  2996.7618     393296648      4.25E+11\n",
       "7143   2020/3/11  2968.5174     352470970      3.79E+11\n",
       "7144   2020/3/12  2923.4856     307778457      3.28E+11\n",
       "\n",
       "[7145 rows x 4 columns]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#读取数据\n",
    "data = pd.read_csv('shanghai_index_1990_12_19_to_2020_03_12.csv')\n",
    "data#有4列 分别是时间  价格 股票库存量 还有数量库存量 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Timestamp</th>\n",
       "      <th>Price</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1990/12/19</td>\n",
       "      <td>99.9800</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1990/12/20</td>\n",
       "      <td>104.3900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1990/12/21</td>\n",
       "      <td>109.1300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1990/12/24</td>\n",
       "      <td>114.5500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1990/12/25</td>\n",
       "      <td>120.2500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7140</th>\n",
       "      <td>2020/3/6</td>\n",
       "      <td>3034.5113</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7141</th>\n",
       "      <td>2020/3/9</td>\n",
       "      <td>2943.2907</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7142</th>\n",
       "      <td>2020/3/10</td>\n",
       "      <td>2996.7618</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7143</th>\n",
       "      <td>2020/3/11</td>\n",
       "      <td>2968.5174</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7144</th>\n",
       "      <td>2020/3/12</td>\n",
       "      <td>2923.4856</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>7145 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       Timestamp      Price\n",
       "0     1990/12/19    99.9800\n",
       "1     1990/12/20   104.3900\n",
       "2     1990/12/21   109.1300\n",
       "3     1990/12/24   114.5500\n",
       "4     1990/12/25   120.2500\n",
       "...          ...        ...\n",
       "7140    2020/3/6  3034.5113\n",
       "7141    2020/3/9  2943.2907\n",
       "7142   2020/3/10  2996.7618\n",
       "7143   2020/3/11  2968.5174\n",
       "7144   2020/3/12  2923.4856\n",
       "\n",
       "[7145 rows x 2 columns]"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#只读取 时间和价格这列的值\n",
    "data = pd.read_csv('shanghai_index_1990_12_19_to_2020_03_12.csv', usecols=['Timestamp', 'Price'])\n",
    "data#只不过这个时间的格式需要转换成 pandas里面的时间戳的格式"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Timestamp</th>\n",
       "      <th>Price</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1990-12-19</td>\n",
       "      <td>99.9800</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1990-12-20</td>\n",
       "      <td>104.3900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1990-12-21</td>\n",
       "      <td>109.1300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1990-12-24</td>\n",
       "      <td>114.5500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1990-12-25</td>\n",
       "      <td>120.2500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7140</th>\n",
       "      <td>2020-03-06</td>\n",
       "      <td>3034.5113</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7141</th>\n",
       "      <td>2020-03-09</td>\n",
       "      <td>2943.2907</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7142</th>\n",
       "      <td>2020-03-10</td>\n",
       "      <td>2996.7618</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7143</th>\n",
       "      <td>2020-03-11</td>\n",
       "      <td>2968.5174</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7144</th>\n",
       "      <td>2020-03-12</td>\n",
       "      <td>2923.4856</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>7145 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      Timestamp      Price\n",
       "0    1990-12-19    99.9800\n",
       "1    1990-12-20   104.3900\n",
       "2    1990-12-21   109.1300\n",
       "3    1990-12-24   114.5500\n",
       "4    1990-12-25   120.2500\n",
       "...         ...        ...\n",
       "7140 2020-03-06  3034.5113\n",
       "7141 2020-03-09  2943.2907\n",
       "7142 2020-03-10  2996.7618\n",
       "7143 2020-03-11  2968.5174\n",
       "7144 2020-03-12  2923.4856\n",
       "\n",
       "[7145 rows x 2 columns]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data['Timestamp']=pd.to_datetime(data['Timestamp'])\n",
    "data#这样时间格式就转换完毕了"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Price</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Timestamp</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1990-12-19</th>\n",
       "      <td>99.9800</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1990-12-20</th>\n",
       "      <td>104.3900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1990-12-21</th>\n",
       "      <td>109.1300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1990-12-24</th>\n",
       "      <td>114.5500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1990-12-25</th>\n",
       "      <td>120.2500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-06</th>\n",
       "      <td>3034.5113</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-09</th>\n",
       "      <td>2943.2907</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-10</th>\n",
       "      <td>2996.7618</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-11</th>\n",
       "      <td>2968.5174</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-12</th>\n",
       "      <td>2923.4856</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>7145 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                Price\n",
       "Timestamp            \n",
       "1990-12-19    99.9800\n",
       "1990-12-20   104.3900\n",
       "1990-12-21   109.1300\n",
       "1990-12-24   114.5500\n",
       "1990-12-25   120.2500\n",
       "...               ...\n",
       "2020-03-06  3034.5113\n",
       "2020-03-09  2943.2907\n",
       "2020-03-10  2996.7618\n",
       "2020-03-11  2968.5174\n",
       "2020-03-12  2923.4856\n",
       "\n",
       "[7145 rows x 1 columns]"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#然后再把时间设置为索引\n",
    "data.set_index('Timestamp',inplace=True)\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Price    0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.isna().sum()#看一下有多少缺失值 没有缺失值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Price</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Timestamp</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1990-12-19</th>\n",
       "      <td>99.9800</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1990-12-20</th>\n",
       "      <td>104.3900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1990-12-21</th>\n",
       "      <td>109.1300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1990-12-24</th>\n",
       "      <td>114.5500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1990-12-25</th>\n",
       "      <td>120.2500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-06</th>\n",
       "      <td>3034.5113</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-09</th>\n",
       "      <td>2943.2907</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-10</th>\n",
       "      <td>2996.7618</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-11</th>\n",
       "      <td>2968.5174</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-12</th>\n",
       "      <td>2923.4856</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>7145 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                Price\n",
       "Timestamp            \n",
       "1990-12-19    99.9800\n",
       "1990-12-20   104.3900\n",
       "1990-12-21   109.1300\n",
       "1990-12-24   114.5500\n",
       "1990-12-25   120.2500\n",
       "...               ...\n",
       "2020-03-06  3034.5113\n",
       "2020-03-09  2943.2907\n",
       "2020-03-10  2996.7618\n",
       "2020-03-11  2968.5174\n",
       "2020-03-12  2923.4856\n",
       "\n",
       "[7145 rows x 1 columns]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data['Price'] = data['Price'].apply(pd.to_numeric, errors='ignore')\n",
    "data#数据类型转换一下"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Price</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Timestamp</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1990-12-19</th>\n",
       "      <td>99.9800</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1990-12-20</th>\n",
       "      <td>104.3900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1990-12-21</th>\n",
       "      <td>109.1300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1990-12-24</th>\n",
       "      <td>114.5500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1990-12-25</th>\n",
       "      <td>120.2500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-06</th>\n",
       "      <td>3034.5113</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-09</th>\n",
       "      <td>2943.2907</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-10</th>\n",
       "      <td>2996.7618</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-11</th>\n",
       "      <td>2968.5174</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-12</th>\n",
       "      <td>2923.4856</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>7145 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                Price\n",
       "Timestamp            \n",
       "1990-12-19    99.9800\n",
       "1990-12-20   104.3900\n",
       "1990-12-21   109.1300\n",
       "1990-12-24   114.5500\n",
       "1990-12-25   120.2500\n",
       "...               ...\n",
       "2020-03-06  3034.5113\n",
       "2020-03-09  2943.2907\n",
       "2020-03-10  2996.7618\n",
       "2020-03-11  2968.5174\n",
       "2020-03-12  2923.4856\n",
       "\n",
       "[7145 rows x 1 columns]"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#进行线性插补漏缺值\n",
    "data.Price.interpolate(inplace=True)\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<statsmodels.tsa.seasonal.DecomposeResult object at 0x7fe12b135a50> <class 'statsmodels.tsa.seasonal.DecomposeResult'>\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:2: FutureWarning: the 'freq'' keyword is deprecated, use 'period' instead\n",
      "  \n"
     ]
    }
   ],
   "source": [
    "#  返回三个部分 trend（趋势），seasonal（季节性）和residual (残留)\n",
    "result = sm.tsa.seasonal_decompose(data.Price, freq=288)\n",
    "print(result,type(result))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "result.plot()\n",
    "plt.show()#返回三个部分 trend（趋势），seasonal（季节性）和residual (残留)  这样就可视化了"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
